$(function(){
  //动态菜单数据
  var treeData = [
    {
        text:"系统管理",
      children:[
        {
            text:"产品管理",
          attributes:{
            url:'Goods'
          }
        },
        {
            text:"供应管理",
          attributes:{
            url:"Supplier"
          }
        }
      ]
    },
    {
      text:"订单管理",
      children:[
        {
          text:"国内订单",
          attributes:{
            url:'TopSeller/taobao'
          }
        },
        {
          text:"国外订单",
          attributes:{
            url:""
          }
        }
      ]
    },
    {
        text:"客户管理",
        children:[
          {
            text:"国内客户",
            attributes:{
              url:'TopSeller/taobao'
            }
          },
          {
            text:"国外客户",
            attributes:{
              url:"Customer"
            }
          }
        ]
      }
  ];
  
  //实例化树形菜单
  $("#tree").tree({
    data:treeData,
    lines:true,
    onClick:function(node){
      if(node.attributes){
        Open(node.text,node.attributes.url);
      }
    }
  });
  //在右边center区域打开菜单，新增tab
  function Open(text,url){
    if($("#tabs").tabs('exists',text)){
        $('#tabs').tabs('select', text);
    }else{
      $('#tabs').tabs('add', {
        title:text,
        closable:true,
        href:url
        //content:text
      });
    }
  }
  
  //绑定tabs的右键菜单
  $("#tabs").tabs({
    onContextMenu:function(e,title){
      e.preventDefault();
      $('#tabsMenu').menu('show', {  
        left: e.pageX,  
        top: e.pageY  
      }).data("tabTitle",title);
    }
  });
  
  //实例化menu的onClick事件
  $("#tabsMenu").menu({
    onClick:function(item){
      CloseTab(this,item.name);
    }
  });
  
  //几个关闭事件的实现
  function CloseTab(menu,type){
    var curTabTitle = $(menu).data("tabTitle");
    var tabs = $("#tabs");
  
    if(type === "close"){
       tabs.tabs("close",curTabTitle);
      return;
    }
    
    var allTabs = tabs.tabs("tabs");
    var closeTabsTitle = [];
    
    $.each(allTabs,function(){
      var opt = $(this).panel("options");
      if(opt.closable && opt.title != curTabTitle && type === "Other"){
        closeTabsTitle.push(opt.title);
      }else if(opt.closable && type === "All"){
        closeTabsTitle.push(opt.title);
      }
    });
    
    for(var i = 0;i<closeTabsTitle.length;i++){
      tabs.tabs("close",closeTabsTitle[i]);
    }
  }
});